home *** CD-ROM | disk | FTP | other *** search
/ 404 Jogos / CLJG.iso / Aventura / FireMan.swf / scripts / frame_1055 / PlaceObject2_518_129 / CLIPACTIONRECORD onClipEvent(enterFrame).as next >
Text File  |  2008-09-12  |  6KB  |  261 lines

  1. onClipEvent(enterFrame){
  2.    function hitPlatforms()
  3.    {
  4.       suelo = true;
  5.       if(!mapa.hitTest(_X - 2,_Y,true) && horizontal < 0 || !mapa.hitTest(_X + 2,_Y,true) && horizontal > 0)
  6.       {
  7.          suelo = false;
  8.          horizontal = 0;
  9.       }
  10.       return undefined;
  11.    }
  12.    function setScale()
  13.    {
  14.       if(hide && !(b1._visible || b2._visible || b3._visible))
  15.       {
  16.          if(_X <= heroe._x)
  17.          {
  18.             _xscale = Math.abs(_xscale);
  19.          }
  20.          else
  21.          {
  22.             _xscale = -1 * Math.abs(_xscale);
  23.          }
  24.       }
  25.    }
  26.    function setSpeed()
  27.    {
  28.       if(walk)
  29.       {
  30.          if(_xscale > 0)
  31.          {
  32.             return SPEED;
  33.          }
  34.          return -1 * SPEED;
  35.       }
  36.    }
  37.    function wallizq()
  38.    {
  39.       return mapa.hitTest(_X - 23,_Y - 24,true);
  40.    }
  41.    function wallder()
  42.    {
  43.       return mapa.hitTest(_X + 23,_Y - 24,true);
  44.    }
  45.    function Paredes()
  46.    {
  47.       if(wallder() && horizontal > 0)
  48.       {
  49.          horizontal = 0;
  50.          wall = true;
  51.       }
  52.       if(wallizq() && horizontal < 0)
  53.       {
  54.          horizontal = 0;
  55.          wall = true;
  56.       }
  57.    }
  58.    function doexplode()
  59.    {
  60.       myColor.setTransform(myColorNormal);
  61.       this.gotoAndStop("death");
  62.    }
  63.    function dorespawn()
  64.    {
  65.       currentdamage = 0;
  66.       currenthigh = 0;
  67.       hitted = false;
  68.       flashing = false;
  69.       timerdamage = 0;
  70.       death = false;
  71.       this.gotoAndStop("hide");
  72.       hide = true;
  73.       attack = walk = wake = prewalk = false;
  74.       horizontal = vertical = 0;
  75.       _X = xi;
  76.       _Y = _root.mapa._y - yi - heroe.vscrollspeed;
  77.       shoot = new Sound();
  78.       shoot.attachSound("metoolshoot");
  79.    }
  80.    function drawframe()
  81.    {
  82.       if(hide)
  83.       {
  84.          this.gotoAndStop("hide");
  85.          return undefined;
  86.       }
  87.       if(wake)
  88.       {
  89.          this.gotoAndStop("wake");
  90.          return undefined;
  91.       }
  92.       if(attack || prewalk)
  93.       {
  94.          this.gotoAndStop("attack");
  95.          return undefined;
  96.       }
  97.       if(walk)
  98.       {
  99.          this.gotoAndStop("walk");
  100.          return undefined;
  101.       }
  102.    }
  103.    xi -= heroe.scrollspeed;
  104.    _X = _X - heroe.scrollspeed;
  105.    _Y = _Y - heroe.vscrollspeed;
  106.    _visible = false;
  107.    hitable = this.hitTest(_root.mascara);
  108.    if(hitable)
  109.    {
  110.       _visible = true;
  111.       if(this.sprite.hotzone.hitTest(heroe.sprite.hotzone))
  112.       {
  113.          heroe.damage = 2;
  114.          heroe.hitted = true;
  115.       }
  116.       if(this.sprite.hotzone.hitTest(_root.shoot1) && hitable && !us)
  117.       {
  118.          _root.shoot1.impact = true;
  119.          us = true;
  120.          if(!shield)
  121.          {
  122.             hitted = true;
  123.             _root.hitted.start();
  124.          }
  125.          else
  126.          {
  127.             _root.escudo.start();
  128.             shieldtimer = 5;
  129.             _root.frebote._x = _X;
  130.             _root.frebote._y = _root.shoot1._y + 4;
  131.             _root.frebote.gotoAndPlay(2);
  132.          }
  133.       }
  134.       if(shieldtimer != 0)
  135.       {
  136.          shieldtimer--;
  137.       }
  138.       if(shieldtimer <= 0)
  139.       {
  140.          us = false;
  141.          _root.shoot1.impact = false;
  142.       }
  143.       if(timerdamage == 0 && hitted)
  144.       {
  145.          timerdamage = FLASHTIME;
  146.          currentdamage += DAMAGE;
  147.       }
  148.       if(timerdamage > 0)
  149.       {
  150.          flashing = true;
  151.          timerdamage % 3 != 0 ? myColor.setTransform(myColorNormal) : myColor.setTransform(myColorTransform);
  152.          timerdamage--;
  153.       }
  154.       if(flashing && timerdamage == 0)
  155.       {
  156.          flashing = false;
  157.          myColor.setTransform(myColorNormal);
  158.          hitted = false;
  159.       }
  160.       if(currentdamage >= MAXDAMAGE)
  161.       {
  162.          myColor.setTransform(myColorTransform);
  163.          death = true;
  164.          delete shoot;
  165.       }
  166.       if(death)
  167.       {
  168.          _root.shoot1.impact = false;
  169.          rising = falling = false;
  170.          doexplode();
  171.       }
  172.    }
  173.    if(!death)
  174.    {
  175.       if(hide)
  176.       {
  177.          if(timer)
  178.          {
  179.             timer--;
  180.          }
  181.          shield = true;
  182.          horizontal = 0;
  183.          if(Math.abs(heroe._x - _X) <= 60 && Math.abs(heroe._y - _Y) <= 200 && !timer)
  184.          {
  185.             attack = attacking = false;
  186.             hide = false;
  187.             wake = true;
  188.             shield = false;
  189.             timer = 10;
  190.          }
  191.       }
  192.       if(wake)
  193.       {
  194.          timer--;
  195.          if(!timer)
  196.          {
  197.             wake = false;
  198.             attack = true;
  199.             timer = 5;
  200.          }
  201.       }
  202.       if(attack)
  203.       {
  204.          timer--;
  205.          if(!timer)
  206.          {
  207.             attack = false;
  208.             prewalk = true;
  209.             timer = 4;
  210.             this.attachMovie("bullet","b1",1);
  211.             this.attachMovie("bullet","b2",2);
  212.             this.attachMovie("bullet","b3",3);
  213.             shoot.start();
  214.             b1.control.dx = -1 * SPEED * 2.5;
  215.             b1.control.dy = -1 * SPEED * 2.5;
  216.             b1._x = 20;
  217.             b1._y = -13;
  218.             b2.control.dx = -1 * SPEED * 3.5;
  219.             b2._x = 20;
  220.             b2._y = -13;
  221.             b3.control.dx = -1 * SPEED * 2.5;
  222.             b3.control.dy = SPEED * 2.5;
  223.             b3._x = 20;
  224.             b3._y = -13;
  225.          }
  226.       }
  227.       if(prewalk)
  228.       {
  229.          timer--;
  230.          if(!timer)
  231.          {
  232.             prewalk = false;
  233.             walk = true;
  234.             timer = WALKTIME;
  235.          }
  236.       }
  237.       if(walk)
  238.       {
  239.          timer--;
  240.          horizontal = setSpeed();
  241.          Paredes();
  242.          hitPlatforms();
  243.          if(!timer || !suelo || wall)
  244.          {
  245.             horizontal = 0;
  246.             walk = false;
  247.             hide = true;
  248.             timer = DELAY;
  249.          }
  250.       }
  251.       _Y = _Y + vertical;
  252.       _X = _X + horizontal;
  253.       setScale();
  254.       drawframe();
  255.    }
  256.    else if(!_root.mascara.hitTest(xi,_Y) && !(b1._visible || b2._visible || b3._visible))
  257.    {
  258.       dorespawn();
  259.    }
  260. }
  261.